import request from '@/utils/request'

// 获取系统配置分页列表
export function getSystemConfigPage(params) {
  return request({
    url: '/admin/system-configs',
    method: 'get',
    params
  })
}

// 获取系统配置详情
export function getSystemConfigDetail(id) {
  return request({
    url: `/admin/system-configs/${id}`,
    method: 'get'
  })
}

// 根据配置键获取配置值
export function getSystemConfigValue(configKey) {
  return request({
    url: `/admin/system-configs/value/${configKey}`,
    method: 'get'
  })
}

// 根据配置分组获取配置列表
export function getSystemConfigsByGroup(configGroup) {
  return request({
    url: `/admin/system-configs/group/${configGroup}`,
    method: 'get'
  })
}

// 根据配置分组获取配置键值对
export function getSystemConfigMapByGroup(configGroup) {
  return request({
    url: `/admin/system-configs/group/${configGroup}/map`,
    method: 'get'
  })
}

// 获取所有配置分组
export function getSystemConfigGroups() {
  return request({
    url: '/admin/system-configs/groups',
    method: 'get'
  })
}

// 创建或更新系统配置
export function createSystemConfig(data) {
  return request({
    url: '/admin/system-configs',
    method: 'post',
    data
  })
}

// 更新系统配置
export function updateSystemConfig(id, data) {
  return request({
    url: `/admin/system-configs/${id}`,
    method: 'put',
    data
  })
}

// 批量更新系统配置
export function batchUpdateSystemConfigs(configs) {
  return request({
    url: '/admin/system-configs/batch',
    method: 'put',
    data: configs
  })
}

// 删除系统配置
export function deleteSystemConfig(id) {
  return request({
    url: `/admin/system-configs/${id}`,
    method: 'delete'
  })
}

// 刷新配置缓存
export function refreshSystemConfigCache() {
  return request({
    url: '/admin/system-configs/refresh-cache',
    method: 'post'
  })
}